 | | EL PROBLEMA DEL MARCO |
Uno de los temas centrales en Inteligencia Artificial, Ciencia Cognitiva y Filosofía
“Un nuevo, profundo problema epistemológico, accesible en principio, pero inadvertido por generaciones de filósofos” (Daniel Dennett)
Origen del problema
El problema del marco (frame problem) es un ejemplo significativo de las limitaciones del paradigma lógico de la Inteligencia Artificial (IA), la llamada “IA logicista”, una rama de la IA que intenta formalizar el razonamiento humano (incluyendo el razonamiento de sentido común) aplicando exclusivamente la lógica matemática.
El problema fue planteado inicialmente por John McCarthy y Patrick Hayes [1969] en su famoso artículo “Algunos problemas desde el punto de vista de la Inteligencia Artificial”.
McCarthy y Hayes plantearon el problema como la dificultad de expresar con la lógica de predicados de primer orden aquello que no cambia (lo que persiste) en un dominio dinámico como consecuencia de las acciones que tienen lugar en ese entorno. Para resolver este problema elaboraron el llamado “cálculo de situaciones” (Situation Calculus), una aplicación de la lógica de predicados de primer orden que permitía representar causas-efectos y razonar teniendo en cuenta el tiempo (razonamiento temporal). En el cálculo de situaciones aparecen atributos de objetos que no cambian (que persisten) y otros que cambian (son dinámicos) como consecuencia de acciones.
En el cálculo de situaciones aparecen tres conceptos:
- Situaciones. Una situación es un estado del sistema en un momento dado.
- Fluentes. Un fluente es una condición que puede variar en el tiempo.
- Acciones. Son las generadoras de nuevas situaciones.
Un simple ejemplo, que ilustra el espíritu del problema del marco, es el siguiente:
Tenemos un objeto con dos atributos, color y posición, y dos posibles acciones: pintarlo de un color o moverlo a otra posición. Si se pinta el objeto, no cambia de posición. Y si se mueve el objeto, su color no cambia.
Este ejemplo, que a nivel humano es muy simple y de sentido común, no es posible expresarlo mediante la lógica de predicados clásica.
Para solucionar el problema, McCarthty y Hayes propusieron “axiomas de marco” para especificar las cosas que no cambian en un dominio dinámico. Por ejemplo: “Con la acción de mover, el color no cambia”. Sin dichos axiomas, un sistema no es capaz de deducir qué atributos persisten.
Pero ocurre que pueden necesitarse un gran número de axiomas de marco para especificar los atributos que no cambian bajo las diferentes acciones. En efecto, sería necesario un axioma de marco por cada acción y atributo que no cambia, lo que sería tedioso, poco elegante e ineficiente. Además, puede ocurrir que, bajo acciones concurrentes, algunos axiomas sean falsos.
El problema del marco consiste en tratar de buscar una forma sintética de especificar los atributos que no cambian en un entorno dinámico, sin tener que especificar axiomas de marco.
Una forma de simplificar el problema es aplicar lo que se llama “la ley de inercia del sentido común”: una propiedad no cambia (persiste) a menos que se especifique lo contrario en un axioma de marco. Pero esta suposición general tiene inconvenientes:
- No puede formalizarse con los recursos de la lógica formal tradicional.
- No contempla la concurrencia de acciones.
- Puede haber acciones con efectos no deterministas.
- Puede haber acciones con ramificaciones indirectas.
- Puede haber reglas que entren en conflicto. Un ejemplo es el llamado “problema del disparo de Yale” (Yale shooting problem). [ver Adenda.]
El término “problema del marco” (o del cuadro) deriva de la técnica que se utiliza en los dibujos animados (framing), en donde existe una escena fija y sobre la que se superponen las partes animadas. En este contexto, las acciones especifican las cosas que cambian, mientras que el resto (el marco) permanece inalterable.
Enfoques de solución al problema del marco
Hoy día existen muchas soluciones para formalizar el problema del marco. La mayoría se expresan en un lenguaje de IA, como Lisp o Prolog. Destacan dos en especial:
- Utilizar una lógica no-monotóna (o no monotónica), es decir, una lógica en la que en un entorno dinámico es posible retractarse de una conclusión cuando se añaden nuevas informaciones. También se pueden especificar excepciones, restricciones a los predicados, etc. La lógica clásica es monotónica: el conjunto de conclusiones que se obtienen a partir de informaciones siempre se incrementan con la adición de nuevas informaciones. Un ejemplo de lógica no monotónica es la circunscripción, creada por John McCarthy [1980, 1986] para formalizar el sentido común.
- Utilizar un enfoque procedimental con memoria. Con él, el problema del marco se simplifica, pues la ley de inercia del sentido común se implementa de forma natural mediante un lenguaje que opere sobre una memoria que refleje la situación del entorno. Si un atributo cambia, solo cambia en la memoria, permaneciendo inalterables los demás. Pero además de un lenguaje procedimental necesitamos que el lenguaje permita utilizar los recursos lingüísticos de la lógica tradicional, principalmente las reglas (genéricas y específicas). Lo ideal es que hubiera un único lenguaje con recursos procedimentales y lógicos.
Otros enfoques de solución se basan en utilizar reglas heurísticas, utilizar conexiones causales, utilizar marcos (Minsky), guiones (Schank), etc.
Las diversas concepciones del problema del marco
El problema del marco, tal y como fue presentado por McCarthy y Hayes era demasiado restringido. Hoy día, el problema del marco se ha generalizado, se le da una interpretación más amplia en IA. De todas formas, existen diferentes opiniones e interpretaciones al respecto:
- Es el problema de la persistencia, es decir, los atributos que no cambian. Es el problema original del marco.
- Es el problema de conocer como un simple elemento de información afecta al resto de la base de datos (o entorno).
- Es el problema de determiner qué elementos de un sistema han sido alterados tras la aparición de un evento.
- Es el problema de determiner las consecuencias de una acción; qué cambia, qué no cambia y cómo afecta al modelo predictivo.
- Es el problema de representar los efectos de una acción sin tener que representar explícitamente el detalle de los no efectos.
- Es el problema de describir de manera sintética como una acción afecta o no afecta al entorno sin tener que especificar todos los posibles efectos colaterales, distinguiendo entre la información relevante y la que no lo es.
El problema del marco también se considera desde el punto de vista filosófico, concretamente desde la epistemología. Es lo que se denomina “problema del marco epistemológico”. El primer filósofo en referirse a este problema fue Daniel Dennett [1978], que consiguió popularizarlo.
También se considera desde el punto de vista de la ciencia cognitive, la ciencia que trata de cómo la información se representa en la mente/cerebro y se transforma en conocimiento.
En realidad, el problema del marco, tanto desde el punto de vista de la IA, filosófico o cognitivo, es el problema del significado o de la conciencia. Es un problema cuyo ejemplo paradigmático es la metáfora de la caja china de John Searle. En este sentido el marco se puede identificar la conciencia o con el sentido común.
Por ejemplo, si tenemos un robot actuando en un entorno dinámico, el problema del marco es en este caso el problema de adaptación del robot al entorno. El comporatimiento del robot en cada momento está determinado por la base de conocimientos (o modelo del mundo) y el input del entorno (la modificación del entorno). El robot debe ignorer los cambios irrelevantes (respect a la situación inmediata anterior) y considerer solo los significativos relacionados directamente con su tarea u objetivo.
Para ello, el robot debería “comprender” o tener conciencia a nivel general o global de lo que ocurre en todo momento, de cada nueva situación, y distinguir entre la información relevante (o útil) y la que no lo es. También tiene que ser consciente de las consecuencias de sus acciones. Para ello debería distinguir entre significado superficial (o particular) y significado profundo (o general). En realidad, el problema del marco es la creación de un modelo computacional que imite la conducta humana, incluyendo el razonamiento de sentido común.
Las implicaciones y conexiones del problema del marco
El problema del marco no es un problema aislado en IA. Está ligado a todos los temas principales de la IA:
- El problema general de la representación del conocimiento.
- El problema del razonamiento.
- La formalización del sentido común.
- El razonamiento temporal: lo que cambia y lo que no cambia con el tiempo.
- La cuestión de las inferencias automáticas.
- La creación de un modelo computacional de la mente.
- Las acciones concurrentes.
- La detección de efectos colaterales y cambios implícitos.
- La ramificación: nuevas situaciones no previstas que pueden aparecer. Por ejemplo, cuando un robot derriba un bloque emerge un nuevo problema al que debe reaccionar.
- El problema de la adaptación de la base de conocimientos. En particular, el problema de la cualificación o categorización de las reglas para saber cuales deben aplicarse y cuales ignorarse en una situación dada, e incluso la creación de nuevas reglas.
- El problema predictivo: prever con antelación lo que va a pasar o puede pasar para tomar las acciones preventivas correspondientes.
- La especificación general (no detallada) de acciones (p.e., alquilar un coche, ir a Barcelona, etc.).
- Gaps, es decir, periodos en los que no se tenga un conocimiento completo de lo que está pasando.
- Etc.
La Solución de MENTAL al Problema del Marco
En MENTAL la solución al problema del marco es enormemente sencilla y se basa en:
- Considerar el entorno (el espacio abstracto donde residen las expresiones) como memoria persistente. Las expresiones persisten a menos que se modifiquen expresamente. Es aplicar la ley de inercia del sentido común.
- Utilizar expresiones genéricas (parametrizadas o no), pues las expresiones genéricas están activas (se evalúan) en todo momento. Con las expresiones genéricas se pueden especificar procedimientos y reglas
El ejemplo simple mencionado anteriormente, de un objeto a
con atributos de color
y posición
, se expresa así:
〈a/(color/b posición/c)〉
(b = azul) (b = verde) ...
(c = posición1) (c = posición2) ...
Cuando se cambia el valor del atributo color
, el objeto cambia automáticamente de color, pues así se ha especificado en la expresión genérica, pero no cambia el atributo posición
. Lo mismo ocurre cuando se cambia el atributo posición
; el atributo color
no cambia.
MENTAL permite abordar el problema del marco y abordar también prácticamente todos los problemas relacionados con él, pues supera las limitaciones de los lenguajes tradicionales de IA (Lisp y Prolog), aportando unos recursos lingüísticos flexibles y potentes para representar el conocimiento en un entorno cambiante en el que puede haber incluso diferentes agentes interactuantes. Algunos de los recursos disponibles son:
- Especificación de todo tipo de expresiones (funciones, reglas, objetos, atributos, etc.).
- Meta-expresiones (meta-reglas, meta-atributos, etc.)
- Interrelación entre expresiones.
- Reglas para especificar acciones y eventos.
- Especificación de conocimiento genérico y específico.
- Modificación dinámica de expresiones (reglas, etc.), incluyendo la base de conocimientos.
- Concurrencia (de acciones, sucesos, agentes, etc.).
- Categorización (de atributos, reglas, vistas, etc.).
- Etc.
En realidad todos estos temas son aplicaciones de MENTAL y todos están relacionados a través de las primitivas semánticas universales.
Adenda
El problema del disparo de Yale (The Yale shooting problem)
El nombre de este problema se debe a que fue propuesto por Steve Hanks y Drew McDermott [1987], de la Universidad de Yale. Este problema se refiere a situaciones en las que la lógica clásica es insuficiente. En realidad se trata de un ejemplo de razonamiento temporal no-monotónico. El ejemplo propuesto por Hanks y McDermott es el siguiente:
Hay una secuencia de situaciones. Inicialmente Fred (un pavo) está vivo y hay un arma descargada. En la situación siguiente el arma está cargada y Fred sigue vivo. En la siguiente situación, el arma es disparada sobre Fred, y se supone que Fred está muerto y el arma descargada.
En este ejemplo, hay dos fluentes (condiciones que varían con el tiempo): el estado vivo o muerto de Fred. Y hay dos acciones: cargar el arma y dispararla (descargarla).
En la lógica normal, se espera que Fred esté muerto. Sin embargo, puede haber circunstancias que provoquen que Fred sobreviva: el arma no funciona, el disparo sale desviado, Fred se ha movido, etc.).
Este problema se resuelve de muchas maneras: incluyendo más variables o predicados, incluyendo nuevas condiciones, considerando condiciones de orden superior, con condiciones que varían con el tiempo, etc.
El problema del disparo de Yale se suele presentar como un ejemplo ilustrativo de una nueva forma de razonamiento: el razonamiento temporal no-monotónico.
Bibliografía
- Dennett, Daniel C. Cognitive Wheels: The Frame Problem of Artificial Intelligence. En [Pylyshyn, 1987]. Disponible en Internet. Versión en español: Ruedas cognitivas: el problema del marco de la inteligencia artificial. En Pérez Miranda, Luis Ángel (coord.) “Lecturas filosóficas de ciencia cognitiva”, pp. 317-348, 2007.
- Dennett, Daniel C. Brainstorms. MIT Press, 1978.
- Ford, K.; Pylyshyn, Z. (eds.). The Robot Dilemma Revisited. Ablex Publ., Norwood, NJ, 1996.
- Hanks, S.; McDermott, D. Default reasoning, nonmonotonic logic, and the frame problem. Proceedings of the American Association for Artificial Intelligence: 328-333, 1986.
- Hanks, S.; McDermott, D. Nonmonotonic logic and temporal prjection. Artificial Intelligence 33(3): 379-412, 1987.
- Hayes, Patrick J. What the frame problem is and isn´t. En [Pylyshyn, 1987], pp. 123-137, 1987.
- McCarthy, John; Hayes, Patrick J. Some problems from the standpoint of Artificial Intelligence. En Machine Intelligence 4, ed. D. Michie and B. Meltzer, Edinburg: Edinburgh University Press, pp. 463-502, 1969. Disponible en Internet.
- McCarthy, John. Circumscription. A form of non-monotonic reasoning. Artificial Intelligence 13: 27–39, April 1980.
- McCarthy, John. Applications of circumscription to formalizing common-sense knowledge. Artificial Intelligence 28 (1): 89–116, February 1986.
- Morgenstern, Leora. The problem with solutions to the frame problem. En [Ford & Pylyshyn, 1996], pp. 99-133. Disponible en Internet.
- Pylyshyn, Zenon. W. (editor). The Robot´s Dilemma: The Frame Problem in Artificial Intelligence. Ablex Publ., Norwood, NJ, 1987.
- Shaham, Y. Reasoning about Change. Cambridge: MIT Press, 1988.
- Shanahan, Murray. Solving the Frame Problem: A Mathematical Investigation of the Common Sense Law of Inertia. MIT Press, 1997.
- Silenzi, María Inés. El problema de marco: la formalización de sistemas dinámicos en agentes artificiales. Revista Iberoamericana de Argumentación, vol. 3, pp. 1-20, 2011. Disponible en Internet.
- Silenzi, María Inés. El problema de marco considerado desde una perspectiva cognitiva. Internet.
- Silenzi, María Inés. El problema del marco como nudo teórico en la interfaz entre la filosofía y las ciencias. Docencia y Tecnología, vol. 45, pp. 81-102, Nov. 2012. Disponible en Internet.